package com.qymerge.manage.base.ro;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>Title: MetaBudgetProduct</p>
 * <p>Description: 预算明细表（产品类）</p>
 *
 * @author Xiao
 * @version 1.0.0
 * @date 2025/5/12 18:20
 */
@Data
public class MetaBudgetProductRO implements Serializable {

    private Long Id;;                         //

    private Long BudgetId;                    // 预算主表ID

    private String InternalCompanyId;         // 关联公司Id
    /* 查询展示用 */
    private String InternalCompanyCode;       // 关联公司Id
    private String InternalCompanyName;       // 关联公司Id

    private Integer PeriodYear;              // 会计期间-年
    private Integer PeriodMonth;             // 会计期间-月

    private String GroupAccountViewCode;      // 科目代码（集团）

    private String MaterialId;                // 物料ID
    private String MaterialName;              // 物料名称
    private String MaterialCode;              // 物料编码
    private Integer PackQuantity;             // 预算数量（自然箱）
    private Integer StdPackQuantity;          // 预算数量（标准箱）

    private BigDecimal RevenueAmount;         // 预算金额
    private BigDecimal CostAmount;            // 预算成本

    public MetaBudgetProductRO() {
    }

    public MetaBudgetProductRO(Long budgetId, String internalCompanyId, Integer periodYear, Integer periodMonth, String materialId, String materialName, String materialCode, Integer packQuantity, Integer stdPackQuantity, BigDecimal revenueAmount, BigDecimal costAmount) {
        this.BudgetId = budgetId;
        this.InternalCompanyId = internalCompanyId;
        this.PeriodYear = periodYear;
        this.PeriodMonth = periodMonth;
        this.MaterialId = materialId;
        this.MaterialName = materialName;
        this.MaterialCode = materialCode;
        this.PackQuantity = packQuantity;
        this.StdPackQuantity = stdPackQuantity;
        this.RevenueAmount = revenueAmount;
        this.CostAmount = costAmount;
    }


}
